Data storage systems are arrangements of hardware and software that include one or more storage processors coupled to arrays of non-volatile storage devices, such as magnetic disk drives, electronic flash drives, and/or optical drives, for example. The storage processors service storage requests, arriving from host machines (“hosts”), which specify files or other data elements to be written, read, created, or deleted, for example. Software running on the storage processors manages incoming storage requests and performs various data processing tasks to organize and secure the data elements stored in the non-volatile storage devices.
Data storage systems commonly organize data in the form of data objects, such as LUNs (Logical UNits), file systems, and/or virtual machine volumes (e.g., VVOLs, as available from VMware, Inc. of Palo Alto, Calif.). The data objects are accessible to host computers connecting to the data storage systems and/or by host applications running locally on the data storage systems. Data storage systems commonly support data services for data objects, such as the ability to generate snapshots (i.e., point-in-time versions of data objects, also referred to herein as “snaps”) and clones (full copies of data objects), as well as the ability to perform replication. As is known, replication involves synchronously or asynchronously creating a unique copy of a data object, either locally or at a remote location.
Data storage systems often allow host applications and/or other software constructs to assign attributes to data objects. Such attributes may assist the host applications and/or software constructs in using the data objects. A data storage system may store attributes of data objects locally, e.g., in a persistent database within the data storage system.